package com.liuyfly.leetcode.questions;

import com.liuyfly.leetcode.util.LeetcodeUtil;
import lombok.extern.slf4j.Slf4j;

/**
 * @author liuyangfang at 2022-09-01 21:32
 */
@Slf4j
public class Question1475 {
    /**
     * 给你一个数组 prices ，其中 prices[i] 是商店里第 i 件商品的价格。 商店里正在进行促销活动，如果你要买第 i 件商品，那么你可以得到与
     * prices[j] 相等的折扣，其中 j 是满足 j > i 且 prices[j] <= prices[i] 的 最小下标 ，如果没有满足条件的 j
     * ，你将没有任何折扣。 请你返回一个数组，数组中第 i 个元素是折扣后你购买商品 i 最终需要支付的价格。 <br/>
     * <br/>
     * 链接：https://leetcode.cn/problems/final-prices-with-a-special-discount-in-a-shop
     */
    public static int[] finalPrices(int[] prices) {
        int[] result = new int[prices.length];
        for (int i = 0; i < prices.length - 1; i++) {
            int discount = 0;
            for (int j = i + 1; j < prices.length; j++) {
                if (prices[j] <= prices[i]) {
                    discount = prices[j];
                    break;
                }
            }
            result[i] = prices[i] - discount;
            LeetcodeUtil.printArray(result);
        }
        result[prices.length - 1] = prices[prices.length - 1];
        return result;
    }

    public static void main(String[] args) {
        int[] prices = { 10, 1, 1, 6 };
        int[] result = finalPrices(prices);
        LeetcodeUtil.printArray(prices);
        LeetcodeUtil.printArray(result);
    }
}
